/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//		File Name		:		CatherineAIState.h
//
//		Author			:		Kevin Jordan
//
//		Purpose			:		Encapsulate all functionality in the Catherines AI class
//
//		Dates			:		Written( March 8, 2011 ) by Kevin Jordan		LastUpdate( March 8, 2011  ) by Kevin Jordan	
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef CATHERINE_AI_STATE_H_
#define CATHERINE_AI_STATE_H_
#include "CBaseObject.h"


enum AIStates{ NULL_STATE, JETPACKING, DOWNED, MELEE, DEAD, NUMOFSTATES };

class CatherineAIState  : public CBaseObject
{


private:
	CatherineAIState();
	CatherineAIState(const CatherineAIState& copy);
	CatherineAIState& operator =(const CatherineAIState& assign);
	~CatherineAIState();

	CBaseObject* pTarget;
	CBaseObject* pMe;
	unsigned int m_uniJetPackHealth;
	int CurState;
	float fBucket;
	int Deviation;


public:

	static CatherineAIState* GetInstance();

	void Update(float fElapsedTime);
	void Render();
	bool Input();
	void CatherineAIState::SetTarget();
	void CatherineAIState::ChangeAIState( int newState );
	void Enter(CBaseObject* body);
	void ReleasePointers();




};
#endif